package livre;

import java.util.HashMap;

public class Library {
	
	/**
	 * Base de données des auteurs
	 */
	private String[] auteurs = { "LEVY", "HIGGINS CLARK", "BARJAVEL", "RUFIN", "HUGO" };
	
	/**
	 * Livres disponibles avec auteur, titre et année
	 */
	private HashMap<Livre, String[]> livresDisponibles;
	
	/**
	 * 
	 */
	public Library(){
		livresDisponibles = new HashMap<Livre, String[]>();
	}
	
	/**
	 * Stocker un livre dans la bibliotheque
	 * @param livre
	 */
	public void stockerLivre(Livre livre){
		
		// vérifier que le livre possède un titre, un auteur et une année de parution valides
		if(livre.getAuteur() != null && livre.getTitre() != null && livre.getAnnee() > 0){
			
			// vérifier que l'auteur est référencé dans la base de données
			if(estReference(livre.getAuteur())){
				String[] inf = { livre.getAuteur(), livre.getTitre(), Integer.toString(livre.getAnnee()) };
				livresDisponibles.put(livre, inf);
			}
		}
		
	}
	
	public boolean estReference(String auteur){
		
		for(String a : auteurs){
			if(a.equals(auteur)) return true;
		}
		
		return false;
		
	}
	
	/**
	 * Rechercher un livre par titre.
	 * @param titre
	 * @return
	 */
	public Livre rechercherLivre(String titre){
		
		if(titre!=null && titre!=""){
		
			for(Livre l : livresDisponibles.keySet()){
				
				if(titre.equals(l.getTitre())) return l;
				
			}
			
		}
		
		return null;
	}
	
	/**
	 * 
	 * @return
	 */
	public String[] getAuteurs() {
		return auteurs;
	}

	/**
	 * 
	 * @param auteurs
	 */
	public void setAuteurs(String[] auteurs) {
		this.auteurs = auteurs;
	}
	
	/**
	 * 
	 * @return
	 */
	public HashMap<Livre, String[]> getLivresDisponibles() {
		return livresDisponibles;
	}

	/**
	 * 
	 * @param livresDisponibles
	 */
	public void setLivresDisponibles(HashMap<Livre, String[]> livresDisponibles) {
		this.livresDisponibles = livresDisponibles;
	}
	
}

